﻿

namespace Jim.SHR;

/// <summary>
/// 员工取数接口（全量）
/// 参数 filterType 不填或者 filterType=1 时，取的是系统中用户状态为启用的用工关系状态的员工；
/// 参数 filterType=0 时，取的是用户状态为禁用的用工关系的员工
/// </summary> 
[Sdk("inteOAGetPersonDataService", "员工取数接口（全量）")]
public class SHRInteOAGetPersonDataServiceRequest : ISdkRequest<SHRInteOAGetPersonDataServiceResponse>
{
    /// <summary>
    /// 员工状态
    /// </summary>
    /// <value>The method.</value>
    public string FilterType { get; set; }
}

public class SHRInteOAGetPersonDataServiceResponse : SdkResponse<List<SHRPerson>> { }


/// <summary>
///   <para>SHR员工</para>
/// </summary>
public class SHRPerson
{
    /// <summary>
    /// 出生日期
    /// </summary>
    /// <value>string</value>
    public string BirthDay { get; set; }
    /// <summary>
    /// 性别,男性为 1，女性为 2
    /// </summary>
    /// <value>string</value>
    public string Sex { get; set; }
    /// <summary>
    /// 用户状态,1 启用，2 禁用
    /// </summary>
    /// <value>string</value>
    public string Status { get; set; }
    /// <summary>
    /// 登录账号
    /// </summary>
    /// <value>string</value>
    public string LoginId { get; set; }
    /// <summary>
    /// 员工编码
    /// </summary>
    /// <value>string</value>
    public string Fnumber { get; set; }
    /// <summary>
    /// 员工描述
    /// </summary>
    /// <value>string</value>
    public string Descn { get; set; }
    /// <summary>
    /// 用户名（姓名）
    /// </summary>
    /// <value>string</value>
    public string UserName { get; set; }
    /// <summary>
    /// 所在部门
    /// </summary>
    /// <value>string</value>
    [JsonProperty("dept_id")]
    public string DeptId { get; set; }
    /// <summary>
    /// 电子邮箱
    /// </summary>
    /// <value>string</value>
    public string Email { get; set; }
    /// <summary>
    /// 通信地址
    /// </summary>
    /// <value>string</value>
    public string Address { get; set; }
    /// <summary>
    /// 办公室电话
    /// </summary>
    /// <value>string</value>
    public string OfficePhone { get; set; }
    /// <summary>
    /// 用户编码，唯一标识
    /// </summary>
    /// <value>string</value>
    [JsonProperty("eas_loginid")]
    public string EasLoginId { get; set; }
    /// <summary>
    /// 员工 ID
    /// </summary>
    /// <value>string</value>
    [JsonProperty(propertyName: "easuser_id")]
    public string EasUserId { get; set; }
    /// <summary>
    /// 家庭电话
    /// </summary>
    /// <value>string</value>
    public string HomePhone { get; set; }
    /// <summary>
    /// 手机号码
    /// </summary>
    /// <value>string</value>
    public string Mobile { get; set; }
    /// <summary>
    /// 创建时间
    /// </summary>
    /// <value>string</value>
    public string FCreateTime { get; set; }
    /// <summary>
    /// 最后修改时间
    /// </summary>
    /// <value>string</value>
    public string FLastUpdateTime { get; set; }
    /// <summary>
    /// 入职日期
    /// </summary>
    /// <value>string</value>
    public string EnterDate { get; set; }
    /// <summary>
    /// 身份证号码
    /// </summary>
    /// <value>string</value>
    public string IdCardNO { get; set; }
    /// <summary>
    /// 护照号码
    /// </summary>
    /// <value>string</value>
    public string PassportNO { get; set; }
    /// <summary>
    /// 转正日期
    /// </summary>
    /// <value>string</value>
    public string FormalDate { get; set; }
    /// <summary>
    /// 参加工作日期
    /// </summary>
    /// <value>string</value>
    public string JobStartDate { get; set; }
    /// <summary>
    /// 进入集团日期
    /// </summary>
    /// <value>string</value>
    public string JoinGroupDate { get; set; }
    /// <summary>
    /// 所在部门编码
    /// </summary>
    /// <value>string</value>
    [JsonProperty(propertyName: "org_number")]
    public string OrgNumber { get; set; }
    /// <summary>
    /// 民族编码
    /// </summary>
    /// <value>string</value>
    [JsonProperty(propertyName: "folk_number")]
    public string FolkNumber { get; set; }
    /// <summary>
    /// 民族
    /// </summary>
    /// <value>string</value>
    [JsonProperty(propertyName: "folk_name")]
    public string FolkName { get; set; }
    /// <summary>
    /// 国籍编码
    /// </summary>
    /// <value>string</value>
    [JsonProperty(propertyName: "nation_number")]
    public string NationNumber { get; set; }
    /// <summary>
    /// 国籍
    /// </summary>
    /// <value>string</value>
    [JsonProperty(propertyName: "nation_name")]
    public string NationName { get; set; }
    /// <summary>
    /// 用工关系状态编码
    /// </summary>
    /// <value>string</value>
    [JsonProperty(propertyName: "empType_number")]
    public string EmpTypeNumber { get; set; }
    /// <summary>
    /// 用工关系状态名称
    /// </summary>
    /// <value>string</value>
    [JsonProperty(propertyName: "empType_name")]
    public string EmpTypeName { get; set; }
}
